home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-01-20 | 13.8 KB | 341 lines | [TEXT/ttxt] |
- ------------------------------------------------------------------------------
- About MacCVS Pro
-
- <http://www.maccvs.org/>
-
- ------------------------------------------------------------------------------
-
- Introduction
- ------------
-
- * About MacCVS Pro
-
- MacCVS Pro is a full-featured client for the CVS source code control
- system. It allows you to check in and out files to a network CVS
- repository as well as run other CVS commands such as CVS Log and CVS
- Status. In addition, MacCVS Pro is multi-threaded so you can execute
- multiple operations simultaneously.
-
- MacCVS Pro was designed to be easy to use and very intuitive and does
- not assume the user is a software engineer or someone of similar
- background.
-
- * About CVS
-
- CVS, which stands for Concurrent Version System, is a system used for
- large- and small-scale software development projects, which tracks the
- revision history of all files in the project, allows multiple developers
- to work on the same source base, and allows for multiple versions of the
- project to be developed concurrently from the same source tree.
-
- In CVS, the client and server usually run on different machines, and the
- client communicates with the server over a local area network, or the
- Internet. The CVS server software is available in source form, and
- should compile on most flavors of UNIX.
-
- For more information about CVS, see Cyclic's web site, at:
-
- <http://www.cyclic.com/cyclic-pages/overview.html>
-
-
- Installation & setup
- --------------------
-
- These are intended to be introductory docs. For more detailed information,
- see the documentation online at <http://www.maccvs.org/>.
-
- * Installation
-
- MacCVS Pro simply needs to be copied onto your hard drive. All its settings
- are stored in the session files, so no additional files are required or
- created.
-
- * Session settings
-
- To start using MacCVS Pro on a source tree, you first need to make a
- session file. Run MacCVS Pro, and choose File:New to make a new
- session file. You will be prompted for a location to save the file;
- specify a name, and save the file. You will now see an empty window,
- which is a project view window.
-
- Before checking out any source files, you have to specify the address
- of the CVS server, and some other details. Open the session settings from
- the Edit menu (also Command-;). There are four panels of settings here,
- accessible through the popup menu at the top of the dialog. The important
- settings are described below.
-
- Panel 1 "Checkout and update options"
-
- At the top of this panel is a button used to set the root folder,
- into which the source tree will go. Make a new folder in the
- Finder (say, in the same folder as the MacCVS session file you
- just created), then switch back to MacCVS, click this "Set"
- button and selection the folder you just made. This is where
- the source tree will be created when you check out.
-
- The second grouping controls file merges. Use these options
- to specify what happens on update when you have modified a file
- locally, and someone else has also checked in changes. Most
- people will want to use the "Auto Merge Text Files and Update
- Binary Files".
-
- Finally, the last two fields, which are very important. Here
- you specify the module, or directory you want to check out,
- and the revision (tag) or date you wish to check out to
- (if any). The default module will either be a module name
- ("MacCVSPro") or a directory path ("src/maccvs/src/"). The
- default revision may be empty, if you are checking out
- to the tip, or it might be a branch tag ("MacCVS202_branch").
-
- Panel 2 "Remote Host Information"
-
- This panel is used to specify the address of the CVS server,
- your user name and password, and the root of the CVS tree
- on the repository.
-
- The server hostname may be either a dotted name ("cvs.thisplace.com")
- or IP addresss ("192.12.13.124"). User name is your user name
- on the CVS server (which may be "anonymous" for a read-only server).
- Password is your password on the server (some read-only servers
- user "anonymous" here too). CVS Root specifies the root of the
- source tree on the server, and will be given to you when you
- get information about the CVS server. [See the section below about
- interpreting UNIX-type CVS environment settings.]
-
- Next, there is a field you can use to adjust the amount of
- time MacCVS waits before giving up on a connection. You might
- want to increase this on a busy server, or slow connection.
-
- The lower panel here is used to control your authentication options
- on the server. The normal method is 'Password', for which you just
- need to enter a username and password in the fields. The other
- authentication methods are not covered here, except to note that
- the KClient option refers to Kerberos authentication, which requires
- that you have Kerberos software installed.
-
-
- Panel 3 "Encoding and file mappings"
-
- These settings determine what file types will be used for files
- that MacCVS Pro creates. You can probably leave these alone
- unless you are using a development environment other than
- Metrowerks CodeWarrrior.
-
- Panel 4 "Messages & Misc"
-
- The first two checkboxes control the verbosity of MacCVS Pro's
- output messages. When checking out a new tree, you probably
- want to just output messages for directories. When updating
- an existing tree, outputting messages for every file is useful
- so you can see what has changed.
-
- The next two checkboxes control the behaviour of the message
- window. Check the "Automatically clear message window" box to
- wipe out all message for each new operation. "Scroll to new messages"
- is obvious, can can slow down things a bit.
-
- The New Folder properties refers to the look of folders in the Finder
- that MacCVS Pro creates when you check out. For convenience, these
- can be initialized to show in list mode.
-
- * Interpreting UNIX-type CVS environment settings
-
- CVS settings are often specified for UNIX or Windows users,
- and are given as something like:
-
- :pserver:anonymous@cvs1.mozilla.org:/cvsroot
-
- In MacCVS Pro-speak, that translates to:
- 1. Use pserver authentication (Password option in settings).
- 2. Username is "anonymous" (without the quotes). The password
- will also be specified separately, so you will have to enter
- that as well.
- 3. The server address is cvs1.mozilla.org.
- 4. The CVS root is /cvsroot (leading / is important!).
-
- The instructions then probably say something like "checkout the
- module xyz", or, on the command line, "cvs checkout xyz". So
- "xyz" is what you enter in the Default Module box.
-
- If checking out to a particular tag:
- cvs checkout xyz -r bugfix_branch
- then you enter "bugfix_branch" in the Default revision box.
-
- * Checking out
-
- Now you have the session settings set up, it's a good time to save the
- session file. All those settings are stored in the session file, as well
- as any other tags that you use for updating individual files.
-
- So, to check out the entire source tree, go Action:Check out default module
- (Command-;). This gets the server to report which directories are in the
- default module (as specified in the session settings), and checks out those
- to your local disk. This can take some time, and eat up considerable amounts
- of disk space, depending on the size of the tree.
-
- Congratulations! Now you have checked out the source tree, and can
- start to work on the code. You will notice that Codewarrior recognizes
- that files checked out in this way are read-only, and when you try
- to edit them for the first time, you have to make them writable. You
- can do this either from MacCVS Pro (Action:Modify read-only, Command-M)
- or in Codewarrior with the version control popup in the sourc window.
-
- * Updating & merging
-
- So you've edited a few files, and checked that they compile. Before you
- check in, you might want to update your local tree, to get any other changes
- that others have made since you checked out. You can either selection, and
- update specific directories in MacCVS Pro, or simply do a Check out defalt
- module again. If you want new changes merged into your modified files,
- ensure that one of the 'Auto merge text files' options is turned on
- in the session settings. Binary files (e.g. GIF files, or resource files)
- cannot be merged, for obvious reasons, but MacCVS Pro updates them by
- copying your modified version to a ~0 file, and checking out the new
- version.
-
- If both you and someone else have edited the same line in a source file,
- then you may get merge conflicts. These will show up as a message with a
- red warning icon. Merge conflicts must be resolved before you can check
- in. Double-click the conflict message to show the bad file, and double
- click the file to open it in CodeWarrior. A 'Make' will usually quickly
- show you where the conflicts are.
-
- * Checking in
-
- Once you have resolved any merge conflicts, and are sure that your
- changes build, you can check in. You can either simply show and
- select your modified files in the project view windows (the Finder-like
- views of your files), or you can use the Find Lurkers command to
- list all new and modified files. In either case, select those files
- that you want to check in, and use the Action:Commit menu command.
- You will be asked for a checkin comment, and can select to use just
- one comment for all files, or separate ones for each. Type in
- a sensible command, and hit the Commit button. All being well,
- the CVS server should send back responses that the commit was
- successful, and the version number of the file will be updated.
-
- * Gotchas
-
- MacCVS is very careful about thread safetly and potential file
- corruption, and thus prevents some operations on source files which
- are open elsewhere. While updating or checking out, you must close
- any open files in CodeWarrior or other editors which are in the
- tree being updated, and you must close source files before committing
- them. If you try to do an operation on an open file that requires write
- access to the file's resource fork, you'll see a dialog asking you
- to close open files.
-
- * Other useful commands
-
- It's always a good idea to diff files you are about to check in, to
- make sure that you know what is going into the repository. MacCVS Pro
- has two commands to do this: Status:Diff, which shows UNIX-style
- diff output, and Status:Compare with original, which shows a more
- useful view of the source using colors to hilight new, changed and
- removed lines.
-
- To add a new file or folder to the repository, use the Action:Add menu
- command. Added files automatically get the checkin comment "First checked
- in". Be careful when adding new files to choose the right file type;
- source files should be added as TEXT, resource files as AppleSingle, and
- other files (e.g. GIF files, SIT archives) as binary. Some attempt is made
- to set the default to the correct one.
-
- * Interoperability with other CVS clients
-
- Due to the different way in which MacCVS Pro stores revision and other
- information, source trees checked out using MacCVS Pro cannot be safely
- used with other Macintosh CVS clients, and vice versa. You should stick
- to using a single client on your source tree. This additional information
- permits increased functionality and optimization in our client, so we
- believe this to be worthwhile.
-
- Known bugs & Limitations
- ------------------------
-
- We know of no crashing bugs in MacCVS Pro.
-
- The UI still needs some fine-tuning, and could do with a little more
- functionality in project views (e.g. resizing columns). There are some
- minor refresh problems here too.
-
- * Other known bugs:
- Pressing the "Stop" button while decoding an AppleSingle file will bring
- up an "Error 700" message in the message window. This is harmless.
-
- If you select thousands of items, MacCVS will slow down to a halt.
-
- There is a bug in Find Lurkers where it won't find some modified files.
- This only happens if you're running a Find Lurkers operation on
- directory that already has some CVS operation (ie. checkout/update)
- running on it. I don't know what the deal is here yet.
-
- If you open a non-modified, non-MROed, file with Resourcer 2.0 it will
- ask you if you want to open the file read only. If you choose the modify
- the file, Resourcer will update the ckid with a bad checksum. Simply
- open the 'ckid' resource, type in 0 for the checksum, close the resource
- and save the file. That should clear up the problem. This bug is fixed
- in Resorcerer 2.2.
-
- Trying to commit a file that actually hasn't changed will fail. However,
- the CVS server never sends an error message so you never get any
- feedback that your operation has failed.
-
- The project views do not update folder tags and other attributes if the
- folder is collapsed.
-
- Drag selecting any of the TE fields sometimes does weird things. This is
- not a bug in MacCVS, but a problem in the PowerPlant LTextEditView
- class.
-
- Due to the poorly specified cvs server protocol, there are some problems
- with operations on files in the root directory, and when using alias
- directories (server-side aliases, that is).
-
- * Limitations
-
- Won't work with really old CVS servers (pre 1.5)
-
- Trees checked out with MacCVS Pro can't be used with other Macintosh
- CVS clients.
-
- File names > 29 chars cause an error (This is a limitation of the Mac
- file system and is not a MacCVS bug. Such files are simply ignored,
- and do not interrupt the checkout process.)
-
- No command line, not all CVS client operations supported (at present).
-
- No gzip support (i.e. the equivalent of cvs -z9 checkout is not available).
-
- Version history
- ---------------
-
- 2.2.1 January 1999
-
- Updated to the new PowerPlant with Appearance Manager support, and
- CodeWarrior Pro 4.
- Support for Kerberos authentication added
- Fixes for some cosmetic bugs.
- Fixed a bug with aliased directories (CVS directory aliases, that is)
-
- 2.1b2 12 May 1998
-
- Fixed a problem with Find Lurkers, which caused new files without resource
- forks not to show up in the lurkers list.
-
- Fixed a problem when committing files using keywords, which caused the
- file not to be updated in your local tree.
-
- Some minor window layout tweaks.
-
-
- 2.1b1 30 April 1998
-
- First public release.
-
-
-
- Last modified 99/01/12
- Simon Fraser sfraser@netscape.com
-
-